package EX2;
/*
进行普通文件的复制
 */

import java.io.*;
import java.util.Scanner;

public class copy_4 {
    public static void main(String[] args) throws IOException {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入要复制文件的绝对路径 or 相对路径：");
        String sourcePath= scanner.next();
        File sourfile=new File(sourcePath);
        if (!sourfile.exists()){
            System.out.println("该文件不存在，请确定路径是否正确！");
            return;
        }
        if (!sourfile.isFile()){
            System.out.println("该文件不是普通文件，请确认路径是否正确");
            return;
        }
        System.out.println("请输入要复制到哪里 绝对路径 or 相对路径：");
        String destPath=scanner.next();
        File destfile=new File(destPath);

        if (destfile.exists()){
            if (destfile.isDirectory()){
                System.out.println("目标路径已存在，并且是一个目录！？请确认路径是否正确！");
                return;
            }
            if (destfile.isFile()){
                System.out.println("目标路径已存在，是否要进行覆盖复制？yes or no ^.^");
                String choice=scanner.next();
                if (choice.toLowerCase().equals("n")){
                    System.out.println("停止复制");
                    return;
                }
            }
        }

        InputStream is=new FileInputStream(sourfile);
        OutputStream os=new FileOutputStream(destfile);

        byte[] buf=new byte[is.available()];
        is.read(buf);
        os.write(buf);
        os.flush();
        System.out.println("复制完成");
        is.close();
        os.close();
    }
}
